package com.smartmedical.doctor.medic.mapper;

import com.smartmedical.doctor.medic.domain.dto.param.DoctorIdCardParam;
import com.smartmedical.doctor.medic.domain.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MedicVerifyMapper {
    DoctorInfoVo findDoctorById(@Param("id") Long id);

    Integer uploadImagePic(@Param("path") String path, @Param("userId") Long userId);

    Integer bindDoctorBankCard(@Param("userId") long userId, @Param("bankCardNumber") String bankCardNumber, @Param("bankName") String bankName, @Param("bankCardType") Integer bankCardType);

    List<DoctorBankCardVo> findDoctorBankCardById(@Param("userId") Long userId);

    Integer bindDoctorIdCard(DoctorIdCardParam doctorIdCardParam);

    boolean findDoctorIdCardByIdNumber(@Param("idNumber") String idNumber);


    boolean findDoctorIdCardByIdCard(@Param("idNumber") String idNumber);

    DoctorIdCardVo findDoctorIdCardInfo(@Param("userId") Long userId);

    List<DoctorDrawRecordVo> findDoctorDrawRecordList(@Param("userId") Long userId);

    List<DoctorIncomeRecordVo> findDoctorIncomeRecordList(@Param("userId") Long userId);

    DoctorWalletVo findDoctorWallet(@Param("userId") Long userId);

    Integer drawCash(@Param("money") Integer money,@Param("userId") long userId);

    Integer addDoctorPushToken(@Param("token") String token,@Param("userId") Long userId);

    List<DoctorEvaluateVo> findDoctorGiftList(@Param("userId") Long userId);

    List<DoctorSystemNoticeVo> findDoctorSystemNoticeList(@Param("userId") Long userId);

    List<DoctorSystemNoticeVo> findDoctorInquiryNoticeList(@Param("userId") Long userId);

    List<DoctorSystemNoticeVo> findDoctorHealthyCurrencyNoticeList(@Param("userId") Long userId);

    Integer findDoctorSystemNoticeReadNum(@Param("userId") Long userId);

    Integer findDoctorInquiryNoticeReadNum(@Param("userId") Long userId);

    Integer findDoctorHealthyCurrencyNoticeReadNum(@Param("userId") Long userId);

    Integer modifyAllStatus(@Param("userId") Long userId);

    List<UserAdoptCommentVo> findMyAdoptedCommentList(@Param("userId") Long userId);
}
